.. _cmcPmSxStopEmg: cmcPmSxStopEmg ================================ -------------------------------- SYNOPSYS ````````````` .. code-block:: none VT_I4 cmcPmSxStopEmg ([in] VT_I4 BoardID, [in] VT_I4 NodeId, [in] VT_I4 Channel ) DESCRIPTION ````````````` - cmcPmSxStop()/cmcPmSxStopEmg() 함수는 지정한 축에 대한 모션을 정지합니다. cmcPmSxStop() 함수는 정지 시에 감속 후 정지를 수행하며, cmcPmSxStopEmg() 함수는 감속 없이 즉시 정지를 수행합니다. \ - 이 함수의 사용과 호출에 있어, 제공된 ㈜커미조아의 함수 헤더 Visual Basic 에서는 함수의 첨두어 cms 가 붙지 않습니다. PARAMETER ````````````` ▶ BoardID : 사용자가 설정한 디바이스(보드) ID. ▶ NodeId : 노드 번호. 노드 번호는 3부터 시작합니다. ▶ Channel : 축 번호. 통합 축으로 관리되는 축 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상, 최대 통합 축 개수 - 1 이하의 값을 축 번호로 설정할 수 있습니다. ▶ IsWaitComplete : cmcPmSxStop() 함수의 인자이며, 이 동작이 완료될 때까지 함수를 반환할 것인지를 결정합니다. .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 0 (cmcFALSE), 대상 축의 정지가 완료될 때까지 대기하지 않고 함수를 벗어납니다. 1 (cmcTRUE), 대상 축의 정지가 완료될 때까지 대기합니다. ▶ IsBlocking : cmcPmSxMove() 함수의 인자이며, 완료될 때까지 기다리는 동안 윈도우 메시지를 블록(Blocking)할 것인지를 결정합니다. 단, 쓰레드 내에서 실행할 때는 이 값을 1(cmcTRUE)로 설정해 주어야 합니다. .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning "| cmsFALSE", " | 블록(Blocking)을 하지 않습니다. 따라서 해당 모션이 완료되는 동안에도 | 윈도우 이벤트를 처리합니다." "| cmsTRUE", " | 블록(Blocking)을 합니다. 따라서 해당 모션이 완료되는 동안에는 윈도우 | 이벤트가 처리되지 않습니다." RETURN VALUE ````````````` +------------+-----------+ | Value | Meaning | +============+===========+ | 음수 | 수행 실패 | +------------+-----------+ | ERR_NONE | 수행 성공 | +------------+-----------+ EXAMPLE ````````` .. code-block:: c++ :linenos: :emphasize-lines: 5 C/C++ #include “ComiMLink3_SDK.h” #include “ComiMLink3_SDK_Def.h” long BoardID = 0; long nChannel = 0; //0번 축으로 설정합니다. //0번 축을 (+)방향으로 이송합니다. cmcPmSxVMoveStart(BoardID, nAxis, cmDIR_P ); Sleep(3000); /*0 번 축을 정지 시킵니다. IsWaitComplete 인자를 cmcTRUE로 설정하면, 대상 축이 정지를 완료 하기 전까지 함수가 반환되지 않습니다.*/ cmcPmSxStop(BoardID, 3, nChannel, cmcTRUE, cmcFALSE ); //cmcPmSxStopEmg() 함수를 사용할 경우 감속 없이 즉시 정지합니다. //cmcPmSxStopEmg(BoardID, 3, nChannel );